vignettes/articles/mapview_02-advanced.Rmd
mapview_02-advanced.RmdDespite the possibility to quickly plot spatial data, mapview has a set of arguments for finer control of the visualization. Depending on the object class, these are:
All types
map - the leaflet or mapview map to use -> default NULLcol.regions - the color palette for colouring raster, polygon and point areas (points are essentially circles) -> default hcl.colors with palette "Inferno" for raster data and palette "viridis" for vector dataat - breakpoints used for the colouring -> default NULL meaning they are calculated automatically for the range of datana.color - the color for NA values -> default #BEBEBE80
map.types - the types of the background maps -> default CartoDB.Positron, CartoDB.DarkMatter, OpenStreetMap, Esri.WorldImagery, OpenTopoMap see here for available map typesalpha.regions - the opacity of raster, polygon and point fills -> default 0.8 for raster, 0.6 for polygons and 0.9 for pointslegend - whether to add a legend to the plot -> default FALSE
legend.opacity - opacity of the legend -> default 1
verbose - whether to print additional information to the console during the rendering -> default FALSE
layer.name - the layer name to be used for plotting -> default depends on call. For a single object the name of the object; if zcol is supplied a combination of object name and column name; for raster stack/bricks the layer namesaddRasterImage or adCircleMarkers
raster only
maxpixels - the maximum number of pixels to plot -> default 500k. This is used so rendering doesn’t take forever. This can also be set with mapviewOptions()
use.layer.names - whether to use the layer names of raster objects -> default FALSE
trim - should rasters be trimmed off NA values around the edges -> default TRUE
vector only
zcol - attribute name(s) or column number(s) in attribute table of the column(s) to be rendered -> default NULL
burst - whether to show all (TRUE) or only one (FALSE) layer(s) -> default FALSE
color - color (palette) for lines -> default hcl.colors(n, palette = "viridis")
alpha - opacity of the lines -> default 0.9
cex - circle size for point data -> default 6. This can also be used to map circle size to an attribute from the object’s attribute table by supplying either column name or numberlwd - line width -> default 2 for lines and points, 1 for polygonslabel - a character vector of labels to be shown on mouseover -> default feature IDs, if zcol is set the values of zcol
popup - the popup function to use for the popups -> default popupTable(). See chapter on popups for further optionsHere’s a few examples of how selected arguments can be used:
Similar to the good old spplot, arguments col.regions and at can be used for finer control of the colouring
library(mapview)
library(raster)
pal = mapviewPalette("mapviewTopoColors")
kili_data <- system.file("extdata", "kiliNDVI.tif", package = "mapview")
kiliNDVI <- stack(kili_data)## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj
## = prefer_proj): Discarded datum Unknown based on Clarke 1880 mod. ellipsoid in
## Proj4 definition
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded ellps WGS 84 in Proj4 definition: +proj=merc +a=6378137
## +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null
## +wktext +no_defs +type=crs
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded datum World Geodetic System 1984 in Proj4 definition
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded ellps WGS 84 in Proj4 definition: +proj=merc +a=6378137
## +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null
## +wktext +no_defs +type=crs
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded datum World Geodetic System 1984 in Proj4 definition
burst can be used to plot all layers of an object
mapview(breweries, burst = TRUE)Note how all layers are shown by default. There is a hidden argument hide which can be used to hide all layers but the first.
mapview(breweries, burst = TRUE, hide = TRUE)When burst used together with zcol, it will produce one layer for all unique values of zcol.
library(dplyr)
library(sf)
breweries %>%
st_intersection(franconia) %>%
mapview(zcol = "district", burst = TRUE)## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries
Note that for a column with many values there will likely not be enough space for the layers control - we are working on a solution for this issue.
For point data the circle size can be mapped to one of the attributes (features with NA values will be shown as dots)
mapview(breweries, cex = "number.of.types")Opacity of lines and fills (regions) can be adjusted using arguments alpha and alpha.regions
mapview(breweries, alpha = 0)
mapview(franconia, alpha.regions = 0.2, aplha = 1)In addition to easily style maps, mapview also makes it easy to add multiple layers to a (possibly laready existing) map. This can be done either by using + or by supplying a list of objects (or both).
## Warning in wkt(projfrom): CRS object has no comment
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded ellps WGS 84 in Proj4 definition: +proj=merc +a=6378137
## +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null
## +wktext +no_defs +type=crs
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded datum World Geodetic System 1984 in Proj4 definition
## Warning in wkt(pfrom): CRS object has no comment
## Warning in rgdal::rawTransform(projfrom, projto, nrow(xy), xy[, 1], xy[, : Using
## PROJ not WKT2 strings
## Warning in wkt(pfrom): CRS object has no comment
## Warning in rgdal::rawTransform(projfrom, projto, nrow(xy), xy[, 1], xy[, : Using
## PROJ not WKT2 strings
## Warning in rgdal::rawTransform(projto_int, projfrom, nrow(xy), xy[, 1], : Using
## PROJ not WKT2 strings
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded ellps WGS 84 in Proj4 definition: +proj=merc +a=6378137
## +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null
## +wktext +no_defs +type=crs
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded datum World Geodetic System 1984 in Proj4 definition
library(plainview)
# mapview w list of objects
mapview(list(breweries, franconia),
zcol = list(NULL, "district"),
legend = list(TRUE, FALSE),
homebutton = list(FALSE, TRUE)) + poppendorf[[5]]## Warning in wkt(projfrom): CRS object has no comment
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded ellps WGS 84 in Proj4 definition: +proj=merc +a=6378137
## +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null
## +wktext +no_defs +type=crs
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded datum World Geodetic System 1984 in Proj4 definition
## Warning in wkt(pfrom): CRS object has no comment
## Warning in rgdal::rawTransform(projfrom, projto, nrow(xy), xy[, 1], xy[, : Using
## PROJ not WKT2 strings
## Warning in wkt(pfrom): CRS object has no comment
## Warning in rgdal::rawTransform(projfrom, projto, nrow(xy), xy[, 1], xy[, : Using
## PROJ not WKT2 strings
## Warning in rgdal::rawTransform(projto_int, projfrom, nrow(xy), xy[, 1], : Using
## PROJ not WKT2 strings
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded ellps WGS 84 in Proj4 definition: +proj=merc +a=6378137
## +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null
## +wktext +no_defs +type=crs
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded datum World Geodetic System 1984 in Proj4 definition
See chapter 3. mapview options for instructions on how to set some of these styling parameters permanently.